Testing current draw capacity from an unknown usb supply

ABSTRACT

Methods, systems, and computer readable media can be operable to facilitate a testing of an unknown USB supply that is connected to a CPE (customer premise equipment) device to determine a current draw capacity of the USB supply. The CPE device may test the USB supply to determine whether the USB supply is capable of supplying a predetermined current. If the determination is made that the USB supply is not able to supply the predetermined current, an end-user may be instructed to plug an alternative PSU (power supply unit) into the CPE device, wherein the alternative PSU is capable of supplying the predetermined current to the CPE device. The CPE device may output an indication that an alternative PSU should be used via a graphics output to a display device through an HDMI (high-definition multimedia interface) connection or via an LED indication using one or more LEDs at the CPE device.

CROSS REFERENCE TO RELATED APPLICATION

This application is a non-provisional application claiming the benefitof U.S. Provisional Application Ser. No. 62/781,191, entitled “TestingCurrent Draw Capacity from an Unknown USB Supply,” which was filed onDec. 18, 2018, and is incorporated herein by reference in its entirety.

TECHNICAL FIELD

This disclosure relates to testing current draw capacity from an unknownUSB supply.

BACKGROUND

In general, when a USB port is overloaded by a current draw, the USBport is shut down, and an end-user may be presented with an errorfeedback. Typically, a television USB port minimum current delivery is500 mA. However, many USB ports will far out deliver than the spec(e.g., up to 7 A). It is desirable to provide methods and systems forpreventing an overcurrent shutdown of a USB port while measuring theability to pull a predetermined current (e.g., 1 A) from an unknown USBsupply (e.g., a USB port of a television).

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an example CPE device that isconnected to a display device, the CPE device being operable tofacilitate current draw capacity testing.

FIG. 2 is a block diagram illustrating an example CPE device that isoperable to facilitate current draw capacity testing using a powermonitor.

FIG. 3 is a flowchart illustrating an example process operable tofacilitate current draw capacity testing using a power monitor.

FIG. 4 is a block diagram illustrating an example CPE device that isoperable to facilitate current draw capacity testing using a brownoutdetector.

FIG. 5 is a flowchart illustrating an example process operable tofacilitate current draw capacity testing using a brownout detector.

FIG. 6 is a block diagram illustrating an example CPE device that isoperable to facilitate current draw capacity testing through pulsedcurrent loading.

FIG. 7 is a flowchart illustrating an example process operable tofacilitate current draw capacity testing using a pulsed test signal.

FIG. 8 is a block diagram of a hardware configuration operable tofacilitate current draw capacity testing.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

It is desirable to provide methods and systems for preventing anovercurrent shutdown of a USB (universal serial bus) port whilemeasuring the ability to pull a predetermined current (e.g., 1 A) froman unknown USB supply (e.g., a USB port of a television). Inembodiments, an unknown USB supply (e.g., a USB port of a television)that is connected to a CPE (customer premise equipment) device (e.g., aSTB (set-top box)) may be tested to determine a current draw capacity ofthe USB supply. For example, the CPE device may test the USB supply todetermine whether the USB supply is capable of supplying a predeterminedcurrent (e.g., 1 A). If the determination is made that the USB supply isnot able to supply the predetermined current, an end-user may beinstructed to plug an alternative PSU (power supply unit) into the CPEdevice, wherein the alternative PSU is capable of supplying thepredetermined current to the CPE device. For example, the CPE device mayoutput an indication that an alternative PSU should be used via agraphics output to a display device through an HDMI (high-definitionmultimedia interface) connection or via an LED indication using one ormore LEDs at the CPE device.

FIG. 1 is a block diagram illustrating an example CPE device 105 that isconnected to a display device 110, the CPE device 105 being operable tofacilitate current draw capacity testing. In embodiments, a CPE device105 (e.g., STB (set-top box), television dongle, or other multimediadevice) may be connected to a display device 110 (e.g., television orother display device) through a connection to a USB port 115 of thedisplay device 110, and the CPE device 105 may be further connected tothe display device 110 through an HDMI connection (e.g., HDMI cable120). For example, a USB cable 125 may be connected to the USB port 115of the display device at one end and to a connector 130 (e.g., a USBport or other connector) of the CPE device 105 at the other end, and theHDMI cable 120 may be connected to an HDMI port 135 of the displaydevice at one end and to a connector 140 (e.g., an HDMI port or otherconnector) of the CPE device 105 at the other end. As another example,the CPE device 105 may include a USB connector and/or an HDMI connector,each of which may be plugged directly into the USB port 115 of thedisplay device 110 and/or the HDMI port 135 of the display device 110respectively.

Upon each boot, a power test may be run by the CPE device 105, whereinthe CPE device 105 tests the ability of an unknown USB supply (e.g., theUSB port 115 of a display device 110 to which the CPE device 105 isconnected) to supply a predetermined current. The predetermined currentmay be a current draw applied during a normal operation of the CPEdevice. When the current draw capacity test is initiated, the CPE device105 may generate and apply a current load, wherein the current load isapplied differently during the current draw capacity test than a currentdraw being applied during a normal operation of the CPE device. Thepower test may commence with a low (e.g., sub 500 mA) known DC loadedstate in order to make sure that the system is good before the testcommences. The power test may be completed without shutting down theunknown USB supply (e.g., the USB port 115 and/or the display device 110to which the CPE device 105 is connected). The power test may becompleted without having error messages generated by the display device110 and displayed on the display device 110. The minimum currentdelivery of the USB supply may be 500 mA and CPE device 105 power duringoperation may vary from ˜0.3 A to 1 A.

If, during the power test, the CPE device 105 determines that theunknown USB supply cannot supply the predetermined current, the CPEdevice 105 may output a notification instructing a user to plug the CPEdevice 105 into an alternative PSU (power supply unit) 145. The CPEdevice 105 may determine whether the USB port is capable of supportingthe current draw applied during the normal operation of the customerpremise equipment device, and the CPE device may output a notificationwhen the determination is made that the USB port is not capable ofsupporting the current draw applied during the normal operation of thecustomer premise equipment device. For example, the CPE device 105 maygenerate a visual and/or audible notification, and the visual and/oraudible notification may be output from the CPE device 105 to thedisplay device 110 through the HDMI connection. The visual and/oraudible notification may be displayed, or otherwise output, by thedisplay device 110. As another example, the CPE device 105 may utilizeone or more light indicators (e.g., LED(s)) to output an LED indicationassociated with the failed power test.

In embodiments, loading of the current draw may be carried out via aprogressive loading. For example, current drawn from the unknown USBsupply may be progressively loaded while monitoring the voltage at eachstage to detect when it drops below a critical threshold, therebyindicating that the unknown USB supply will not be able to provideenough power. This may be accomplished by ramping up the SW drive inknown steps until a predetermined current limit (e.g., 1 A) is reached.

In embodiments, loading of the current draw may be carried out via apulsed loading. For example, a predetermined current load (e.g., 1 A)may be pulsed in a controlled manner in a duration that is short enoughto prevent the overcurrent trip from fully activating. The current loadmay be pulsed by removing the full load periodically. The current loadmay be released as soon as possible once the threshold is triggered toavoid the possibility of overloading the USB supply to the point thatthe USB supply is disabled.

When using pulsed loading to generate a predetermined current load(e.g., 1 A), a steady state of SW may be utilized. During pulsedloading, the applied current load may be a pulsed current load that isequivalent to the current draw applied during the normal operation ofthe customer premise equipment device, wherein current load is removedperiodically. For example, to generate a 1 A current load, a SW loadermay be taken to ˜400 mA and a known load (e.g., ˜600 mA) may then beapplied to mimic a total of 1 A. It should be understood that the actualcurrent values may be adjusted according to various parametersassociated with a use case.

FIG. 2 is a block diagram illustrating an example CPE device 105 that isoperable to facilitate current draw capacity testing using a powermonitor 205. The CPE device 105 may include a power monitor 205, acurrent load source 210, a notification module 215, a current load testmodule 220, a connector 130, and a connector 140.

In embodiments, the CPE device 105 shown in FIG. 2 may test current drawcapacity of an unknown USB supply (e.g., a USB port of a device to whichthe CPE device 105 is connected) using progressive loading. Whenprogressive (i.e., stepped) loading is used, a predetermined currentload (e.g., 1 A) may be sourced from current load source 210 by addingmore functions in a controlled manner, and the current load test module220 may read back voltage values from a power monitor 205 (e.g., I2C(inter-integrated circuit) power monitor). For example, at eachrespective one stage of one or more stages, the current load source 210may increase a sourced amount of current (e.g., current sourced by SW orcurrent sourced by the unknown USB supply may be increased byincremental amounts), and at the end of the respective stage, thecurrent load test module 220 may read the resulting voltage value fromthe power monitor 205 and determine whether the voltage has droppedbelow a threshold. If the resulting voltage value is not below thethreshold, the current load test module 220 may initiate a next stage atwhich the sourced amount of current is again increased and the resultingvoltage value is read. The current load test module 220 may determinethat the unknown USB supply cannot supply a predetermined current whenthe current load test module 220 identifies a voltage drop (from thevoltage values recovered from the power monitor 205) below a criticalthreshold. The measured voltage may still be within a USB spec (e.g.,>4.75V).

FIG. 3 is a flowchart illustrating an example process 300 operable tofacilitate current draw capacity testing using a power monitor. Theprocess 300 may be carried out, for example, by a CPE device 105. Theprocess 300 may begin when a procedure is initiated for testing anunknown USB supply to which the CPE device 105 is connected. Forexample, the testing procedure may be initiated when the CPE device 105is connected to the USB supply (e.g., a USB port 115 of the displaydevice 110 of FIG. 1) through a USB connection and/or an HDMIconnection. The process 300 may begin at 305, where current sourced tothe CPE device is increased by a certain amount. In embodiments, thecurrent load source 210 of FIG. 2 may increase a sourced amount ofcurrent (e.g., current sourced by SW or current sourced by the unknownUSB supply may be increased by an incremental amount), wherein theamount by which the sourced current is increased is less than apredetermined current that needs to be supplied to the CPE device 105.

At 310, a resulting voltage value may be read. For example, the currentload test module 220 of FIG. 2 may read the resulting voltage value fromthe power monitor 205 of FIG. 2. The voltage value that is read may bethe voltage value that is realized by the power monitor 205 in responseto the increase in the sourced current.

At 315, a determination may be made whether the read voltage value isless than a threshold. In embodiments, the CPE device 105 may beconfigured with a critical threshold against which the voltage valueread from the power monitor 205 is compared.

If, at 315, the determination is made that the read voltage value isless than the threshold, the process 300 may proceed to 320. At 320, theCPE device 105 may output a notification of the current supply testfailure. In embodiments, the CPE device 105 may output a notificationinstructing a user to plug the CPE device 105 into an alternative PSU(power supply unit). For example, the CPE device 105 may generate avisual and/or audible notification, and the visual and/or audiblenotification may be output from the CPE device 105 to a display device.The visual and/or audible notification may be displayed, or otherwiseoutput, by the display device. As another example, the CPE device 105may utilize one or more light indicators (e.g., LED(s)) to output an LEDindication associated with the failed power test.

If, at 315, the determination is made that the read voltage value is notless than the threshold, the process 300 may proceed to 325. At 325, adetermination may be made whether the sourced current load resultingfrom the increase at 305 has reached the predetermined current load thatneeds to be supplied to the CPE device 105 by the USB supply. If thepredetermined current load has not been reached, the sourced current mayagain be increased by a certain amount at 305. If the predeterminedcurrent load has been reached, the CPE device 105 may determine that theUSB supply to which the CPE device 105 is connected can supply thepredetermined current at 330. As a result of the determination that theUSB supply is capable of supplying the predetermined current, the CPEdevice 105 may end the current supply test.

FIG. 4 is a block diagram illustrating an example CPE device 105 that isoperable to facilitate current draw capacity testing using a brownoutdetector 405. The CPE device 105 may include a brownout detector 405, acurrent load source 410, a notification module 415, a current load testmodule 420, a gate 425, a connector 130, and a connector 140.

In embodiments, the CPE device 105 shown in FIG. 4 may test current drawcapacity of an unknown USB supply (e.g., a USB port of a device to whichthe CPE device 105 is connected) using progressive loading. Whenprogressive (i.e., stepped) loading is used, a predetermined currentload (e.g., 1 A) may be sourced from current load source 410 by addingmore functions in a controlled manner, and the current load test module420 may monitor the brownout detector 405 (e.g., via an input/outputsuch as a GPIO (general purpose input/output)). For example, at eachrespective one stage of one or more stages, the current load source 410may increase a sourced amount of current (e.g., current sourced by SW orcurrent sourced by the unknown USB supply may be increased byincremental amounts), and at the end of the respective stage, thecurrent load test module 420 may read an output from the brownoutdetector 405 and determine whether a fault condition has been flagged.If a fault condition has not been flagged, the current load test module420 may initiate a next stage at which the sourced amount of current isagain increased and a check is again made for a fault condition. Thecurrent load test module 420 may determine that the unknown USB supplycannot supply a predetermined current when the current load test module420 determines that a fault condition has been flagged.

In embodiments, the brownout detector 405 and a gate 425 may be utilizedto detect a fault. In embodiments, the brownout detector 405 may be usedto detect, for example, a 3V negative going threshold. The potentialdivider may be set to provide a 3.08V level when the VBUS+5V rail passes4.85V drop (it should be understood that these threshold levels may beadjusted to suit). The brownout detector 405 input to the system-on-chip(SoC) (set to be an interrupt) may be monitored during the test period(e.g., by the current load test module 420). The brownout detector 405signal may be asserted within, for example, 20 us of the brownoutthreshold voltage being reached and may remain asserted for, forexample, 220 ms. If the DC can withstand the load, then there is nochange. If a drop appears beyond the predetermined brownout threshold,then a negative pulse will occur from the brownout detector 405 into thegate 425 (e.g., a logic gate such as AND gate U12001). This logicfunction may end the HW pulsed test immediately and may preventovercurrent on the USB port of the connected device (e.g., USB port 115of the display device 110 of FIG. 1). A signal may also be apparent onan input/output showing a fault condition has been flagged. The currentload test module 420 may use this to flag a message on the displaydevice 110 graphics over an HDMI connection between the CPE device 105and the display device 110.

FIG. 5 is a flowchart illustrating an example process 500 operable tofacilitate current draw capacity testing using a brownout detector. Theprocess 500 may be carried out, for example, by a CPE device 105. Theprocess 500 may begin when a procedure is initiated for testing anunknown USB supply to which the CPE device 105 is connected. Forexample, the testing procedure may be initiated when the CPE device 105is connected to the USB supply (e.g., a USB port 115 of the displaydevice 110 of FIG. 1) through a USB connection and/or an HDMIconnection. The process 500 may begin at 505, where current sourced tothe CPE device is increased by a certain amount. In embodiments, thecurrent load source 410 of FIG. 4 may increase a sourced amount ofcurrent (e.g., current sourced by SW or current sourced by the unknownUSB supply may be increased by an incremental amount), wherein theamount by which the sourced current is increased is less than apredetermined current that needs to be supplied to the CPE device 105.

At 510, a check may be made for a fault condition. In embodiments, thecurrent load test module 420 of FIG. 4 may read an output from abrownout detector 405 of FIG. 4 and determine whether a fault conditionhas been flagged. The brownout detector 405 may be configured to outputa signal on an input/output showing a fault condition has been flaggedwhen a fault condition is detected in response to the increased current.

At 515, a determination may be made whether a fault condition has beenflagged.

If, at 515, the determination is made that a fault condition has beenflagged, the process 500 may proceed to 520. At 520, the CPE device 105may output a notification of the current supply test failure. Inembodiments, the CPE device 105 may output a notification instructing auser to plug the CPE device 105 into an alternative PSU (power supplyunit). For example, the CPE device 105 may generate a visual and/oraudible notification, and the visual and/or audible notification may beoutput from the CPE device 105 to a display device. The visual and/oraudible notification may be displayed, or otherwise output, by thedisplay device. As another example, the CPE device 105 may utilize oneor more light indicators (e.g., LED(s)) to output an LED indicationassociated with the failed power test.

If, at 515, the determination is made that a fault condition has notbeen flagged, the process 500 may proceed to 525. At 525, adetermination may be made whether the sourced current load resultingfrom the increase at 505 has reached the predetermined current load thatneeds to be supplied to the CPE device 105 by the USB supply. If thepredetermined current load has not been reached, the sourced current mayagain be increased by a certain amount at 505. If the predeterminedcurrent load has been reached, the CPE device 105 may determine that theUSB supply to which the CPE device 105 is connected can supply thepredetermined current at 530. As a result of the determination that theUSB supply is capable of supplying the predetermined current, the CPEdevice 105 may end the current supply test.

FIG. 6 is a block diagram illustrating an example CPE device 105 that isoperable to facilitate current draw capacity testing through pulsedcurrent loading. The CPE device 105 may include a brownout detector 605,a test signal module 610, a notification module 615, a current load testmodule 620, a gate 625, a connector 130, and a connector 140.

In embodiments, the CPE device 105 shown in FIG. 6 may test current drawcapacity of an unknown USB supply (e.g., a USB port of a device to whichthe CPE device 105 is connected) using pulsed current loading. A testsignal module 610 may generate a test signal (e.g., from a processor)and send out the test signal on an input/output (e.g., GPIO). Steadystate SW may be used. The test signal module 610 (e.g., SW loader) maygenerate a first load (e.g., ˜400 mA) and then apply a known load (e.g.,˜600 mA) to create a total load of, for example, ˜1 A. It should beunderstood that the test signal module 610 may generate various loadsdepending upon the use case. As an example, AON_GPIO_16 may be driven at˜10 KHz for a certain period (e.g., ˜1-10 ms), and this test signal maybe passed through a logic gate (e.g., gate 625), where no brownout faultcondition is flagged. Varying frequencies and mark to space ratios canbe used to load the port with differing conditions/correct draw on apower supply to find the optimum/minimum current required to trip theport (drop the voltage on the short duration pulse). The test signal maybe applied to switching (e.g., Q4002/Q4003) on the pulsed signal, forexample, to the ‘Heavy on board load.’ The load may be ˜8.3 R to mimic600 mA (totaling the 1 A test limit). The switched 1 A signal mayprevent the full load energy being present on the resistive load,current will flow during each pulse, thereby applying a load on thevoltage.

The test signal module 610 may generate a test signal for each of one ormore test scenarios that are applied to the unknown USB supply in aseries of one or more stages. For example, the test signal module 610may generate and apply a test signal, and the current load test module620 may determine whether the test signal creates a fault condition. Thetest signal may be a pulsed signal that is applied at a frequency thatis lower than a predetermined frequency which may create an overcurrentcondition at the USB supply. If the current load test module 620determines that a test signal creates a fault condition (e.g., at thebrownout detector 605), then the current load test module 620 may causethe test signal module 610 to stop the pulsed test signal, and thecurrent load test module 620 may determine that the USB supply cannotsupply the predetermined current.

In embodiments, the brownout detector 605 and a gate 625 may be utilizedto detect a fault. In embodiments, the brownout detector 605 may be usedto detect, for example, a 3V negative going threshold. The potentialdivider may be set to provide a 3.08V level when the VBUS+5V rail passes4.85V drop (it should be understood that these threshold levels may beadjusted to suit). The brownout detector 605 input to the system-on-chip(SoC) (set to be an interrupt) may be monitored during the test period(e.g., by the current load test module 620). The brownout detector 605signal may be asserted within, for example, 20 us of the brownoutthreshold voltage being reached and may remain asserted for, forexample, 220 ms. If the DC can withstand the load, then there is nochange. If a drop appears beyond the predetermined brownout threshold,then a negative pulse will occur from the brownout detector 605 into thegate 625 (e.g., a logic gate such as AND gate U12001). This logicfunction may end the HW pulsed test immediately and may preventovercurrent on the USB port of the connected device (e.g., USB port 115of the display device 110 of FIG. 1). A signal may also be apparent onan input/output showing a fault condition has been flagged. The currentload test module 620 may use this to flag a message on the displaydevice 110 graphics over an HDMI connection between the CPE device 105and the display device 110.

FIG. 7 is a flowchart illustrating an example process 700 operable tofacilitate current draw capacity testing using a pulsed test signal. Theprocess 700 may be carried out, for example, by a CPE device 105. Theprocess 700 may begin when a procedure is initiated for testing anunknown USB supply to which the CPE device 105 is connected. Forexample, the testing procedure may be initiated when the CPE device 105is connected to the USB supply (e.g., a USB port 115 of the displaydevice 110 of FIG. 1) through a USB connection and/or an HDMIconnection. The process 700 may begin at 705, where a first pulsed testsignal is applied. In embodiments, the test signal module 610 of FIG. 6may generate a test signal for each of one or more test scenarios thatare applied to an unknown USB supply in a series of one or more stages.For example, the test signal module 610 may generate and apply a pulsedtest signal. The pulsed test signal may be sent out on an input/output(e.g., GPIO). The test signal module 610 (e.g., SW loader) may generatea first load (e.g., ˜400 mA) and then apply a known load (e.g., ˜600 mA)to create a total load of, for example, ˜1 A. It should be understoodthat the test signal module 610 may generate various loads dependingupon the use case.

At 710, a check may be made for a fault condition. In embodiments, acurrent load test module 620 of FIG. 6 may read an output from abrownout detector 605 of FIG. 6 and determine whether a fault conditionhas been flagged. The brownout detector 605 may be configured to outputa signal on an input/output showing a fault condition has been flaggedwhen a fault condition is detected in response to the pulsed testsignal.

At 715, a determination may be made whether a fault condition has beenflagged.

If, at 715, the determination is made that a fault condition has beenflagged, the process 700 may proceed to 720. At 720, the load generatedby the applied test signal may be released.

At 725, the CPE device 105 may output a notification of the currentsupply test failure. In embodiments, the CPE device 105 may output anotification instructing a user to plug the CPE device 105 into analternative PSU (power supply unit). For example, the CPE device 105 maygenerate a visual and/or audible notification, and the visual and/oraudible notification may be output from the CPE device 105 to a displaydevice. The visual and/or audible notification may be displayed, orotherwise output, by the display device. As another example, the CPEdevice 105 may utilize one or more light indicators (e.g., LED(s)) tooutput an LED indication associated with the failed power test.

If, at 715, the determination is made that a fault condition has notbeen flagged, the process 700 may proceed to 730. At 730, adetermination may be made whether other test scenarios are to be tested.For example, the CPE device 105 may be configured to generate a testsignal for each of one or more test scenarios that are applied to anunknown USB supply in a series of one or more stages. If there is atleast one other test scenario to be tested, a next pulsed test signalassociated with a next test scenario may be applied at 735. If there isno other scenario to be tested, the CPE device 105 may determine thatthe USB supply to which the CPE device 105 is connected can supply thepredetermined current at 740. As a result of the determination that theUSB supply is capable of supplying the predetermined current, the CPEdevice 105 may end the current supply test.

FIG. 8 is a block diagram of a hardware configuration 800 operable tofacilitate current draw capacity testing. It should be understood thatthe hardware configuration 800 can exist in various types of devices.The hardware configuration 800 can include a processor 810, a memory820, a storage device 830, and an input/output device 840. Each of thecomponents 810, 820, 830, and 840 can, for example, be interconnectedusing a system bus 850. The processor 810 can be capable of processinginstructions for execution within the hardware configuration 800. In oneimplementation, the processor 810 can be a single-threaded processor. Inanother implementation, the processor 810 can be a multi-threadedprocessor. The processor 810 can be capable of processing instructionsstored in the memory 820 or on the storage device 830.

The memory 820 can store information within the hardware configuration800. In one implementation, the memory 820 can be a computer-readablemedium. In one implementation, the memory 820 can be a volatile memoryunit. In another implementation, the memory 820 can be a non-volatilememory unit.

In some implementations, the storage device 830 can be capable ofproviding mass storage for the hardware configuration 800. In oneimplementation, the storage device 830 can be a computer-readablemedium. In various different implementations, the storage device 830can, for example, include a hard disk device, an optical disk device,flash memory or some other large capacity storage device. In otherimplementations, the storage device 830 can be a device external to thehardware configuration 800.

The input/output device 840 provides input/output operations for thehardware configuration 800. In embodiments, the input/output device 840can include one or more of a network interface device (e.g., an Ethernetcard), a serial communication device (e.g., an RS-232 port), one or moreuniversal serial bus (USB) interfaces (e.g., a USB 2.0 port) and/or awireless interface device (e.g., an 802.11 card). In embodiments, theinput/output device can include driver devices configured to sendcommunications to, and receive communications from one or more networksand/or one or more access devices and/or stations.

Those skilled in the art will appreciate that the invention improvesupon methods and systems for preventing an overcurrent shutdown of a USBport while measuring the ability to pull a predetermined current from anunknown USB supply. In embodiments, an unknown USB supply (e.g., a USBport of a television) that is connected to a CPE (customer premiseequipment) device (e.g., a STB (set-top box)) may be tested to determinea current draw capacity of the USB supply. For example, the CPE devicemay test the USB supply to determine whether the USB supply is capableof supplying a predetermined current (e.g., 1 A). If the determinationis made that the USB supply is not able to supply the predeterminedcurrent, an end-user may be instructed to plug an alternative PSU (powersupply unit) into the CPE device, wherein the alternative PSU is capableof supplying the predetermined current to the CPE device. For example,the CPE device may output an indication that an alternative PSU shouldbe used via a graphics output to a display device through an HDMI(high-definition multimedia interface) connection or via an LEDindication using one or more LEDs at the CPE device.

The subject matter of this disclosure, and components thereof, can berealized by instructions that upon execution cause one or moreprocessing devices to carry out the processes and functions describedabove. Such instructions can, for example, comprise interpretedinstructions, such as script instructions, e.g., JavaScript orECMAScript instructions, or executable code, or other instructionsstored in a computer readable medium.

Implementations of the subject matter and the functional operationsdescribed in this specification can be provided in digital electroniccircuitry, or in computer software, firmware, or hardware, including thestructures disclosed in this specification and their structuralequivalents, or in combinations of one or more of them. Embodiments ofthe subject matter described in this specification can be implemented asone or more computer program products, i.e., one or more modules ofcomputer program instructions encoded on a tangible program carrier forexecution by, or to control the operation of, data processing apparatus.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, or declarative orprocedural languages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, or other unitsuitable for use in a computing environment. A computer program does notnecessarily correspond to a file in a file system. A program can bestored in a portion of a file that holds other programs or data (e.g.,one or more scripts stored in a markup language document), in a singlefile dedicated to the program in question, or in multiple coordinatedfiles (e.g., files that store one or more modules, sub programs, orportions of code). A computer program can be deployed to be executed onone computer or on multiple computers that are located at one site ordistributed across multiple sites and interconnected by a communicationnetwork.

The processes and logic flows described in this specification areperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output thereby tying the process to a particular machine(e.g., a machine programmed to perform the processes described herein).The processes and logic flows can also be performed by, and apparatuscan also be implemented as, special purpose logic circuitry, e.g., anFPGA (field programmable gate array) or an ASIC (application specificintegrated circuit).

Computer readable media suitable for storing computer programinstructions and data include all forms of non-volatile memory, mediaand memory devices, including by way of example semiconductor memorydevices (e.g., EPROM, EEPROM, and flash memory devices); magnetic disks(e.g., internal hard disks or removable disks); magneto optical disks;and CD ROM and DVD ROM disks. The processor and the memory can besupplemented by, or incorporated in, special purpose logic circuitry.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anyinvention or of what may be claimed, but rather as descriptions offeatures that may be specific to particular embodiments of particularinventions. Certain features that are described in this specification inthe context of separate embodiments can also be implemented incombination in a single embodiment. Conversely, various features thatare described in the context of a single embodiment can also beimplemented in multiple embodiments separately or in any suitablesubcombination. Moreover, although features may be described above asacting in certain combinations and even initially claimed as such, oneor more features from a claimed combination can in some cases be excisedfrom the combination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

Particular embodiments of the subject matter described in thisspecification have been described. Other embodiments are within thescope of the following claims. For example, the actions recited in theclaims can be performed in a different order and still achieve desirableresults, unless expressly noted otherwise. As one example, the processesdepicted in the accompanying figures do not necessarily require theparticular order shown, or sequential order, to achieve desirableresults. In some implementations, multitasking and parallel processingmay be advantageous.

We claim:
 1. A method comprising: initiating a current draw capacitytest at a customer premise equipment device, wherein the customerpremise equipment device is connected to a USB port of another device;generating a current load at the customer premise equipment device;applying the current load at the customer premise equipment device,wherein the current load is applied differently during the current drawcapacity test than a current draw applied during a normal operation ofthe customer premise equipment device; determining whether the USB portis capable of supporting the current draw applied during the normaloperation of the customer premise equipment device; and outputting anotification when the determination is made that the USB port is notcapable of supporting the current draw applied during the normaloperation of the customer premise equipment device.
 2. The method ofclaim 1, wherein the current load comprises a progressive loading ofcurrent drawn from the USB port, the amount of current drawn beingincrementally increased in stages.
 3. The method of claim 2, whereindetermining whether the USB port is capable of supporting the currentdraw applied during the normal operation of the customer premiseequipment device comprises: reading a voltage value at a power monitorafter each increase of the current drawn; and determining that the USBport is not capable of supporting the current draw applied during thenormal operation of the customer premise equipment device when thevoltage value drops below a threshold.
 4. The method of claim 2, whereindetermining whether the USB port is capable of supporting the currentdraw applied during the normal operation of the customer premiseequipment device comprises: monitoring an output of a brownout detector;and determining that the USB port is not capable of supporting thecurrent draw applied during the normal operation of the customer premiseequipment device when a fault condition is flagged by the brownoutdetector.
 5. The method of claim 1, wherein the current load comprises apulsed current load that is equivalent to the current draw appliedduring the normal operation of the customer premise equipment device,wherein the current load applied during the current draw capacity testis removed periodically.
 6. The method of claim 5, wherein determiningwhether the USB port is capable of supporting the current draw appliedduring the normal operation of the customer premise equipment devicecomprises: monitoring an output of a brownout detector; and determiningthat the USB port is not capable of supporting the current draw appliedduring the normal operation of the customer premise equipment devicewhen a fault condition is flagged by the brownout detector.
 7. Themethod of claim 1, wherein the notification is output to a displaydevice associated with the USB port, wherein the notification causes thedisplay device to output a message instructing a user to connect thecustomer premise equipment device to an alternate power supply unit. 8.A customer premise equipment device that initiates a current drawcapacity test at the customer premise equipment device, wherein thecustomer premise equipment device is connected to a USB port of anotherdevice; generates a current load at the customer premise equipmentdevice; applies the current load at the customer premise equipmentdevice, wherein the current load is applied differently during thecurrent draw capacity test than a current draw applied during a normaloperation of the customer premise equipment device; determines whetherthe USB port is capable of supporting the current draw applied duringthe normal operation of the customer premise equipment device; andoutputs a notification when the determination is made that the USB portis not capable of supporting the current draw applied during the normaloperation of the customer premise equipment device.
 9. The customerpremise equipment device of claim 8, wherein the current load comprisesa progressive loading of current drawn from the USB port, the amount ofcurrent drawn being incrementally increased in stages.
 10. The customerpremise equipment device of claim 9, wherein determining whether the USBport is capable of supporting the current draw applied during the normaloperation of the customer premise equipment device comprises: reading avoltage value at a power monitor after each increase of the currentdrawn; and determining that the USB port is not capable of supportingthe current draw applied during the normal operation of the customerpremise equipment device when the voltage value drops below a threshold.11. The customer premise equipment device of claim 9, whereindetermining whether the USB port is capable of supporting the currentdraw applied during the normal operation of the customer premiseequipment device comprises: monitoring an output of a brownout detector;and determining that the USB port is not capable of supporting thecurrent draw applied during the normal operation of the customer premiseequipment device when a fault condition is flagged by the brownoutdetector.
 12. The customer premise equipment device of claim 8, whereinthe current load comprises a pulsed current load that is equivalent tothe current draw applied during the normal operation of the customerpremise equipment device, wherein the current load applied during thecurrent draw capacity test is removed periodically.
 13. The customerpremise equipment device of claim 12, wherein determining whether theUSB port is capable of supporting the current draw applied during thenormal operation of the customer premise equipment device comprises:monitoring an output of a brownout detector; and determining that theUSB port is not capable of supporting the current draw applied duringthe normal operation of the customer premise equipment device when afault condition is flagged by the brownout detector.
 14. One or morenon-transitory computer readable media having instructions operable tocause one or more processors to perform the operations comprising:initiating a current draw capacity test at a customer premise equipmentdevice, wherein the customer premise equipment device is connected to aUSB port of another device; generating a current load at the customerpremise equipment device; applying the current load at the customerpremise equipment device, wherein the current load is applieddifferently during the current draw capacity test than a current drawapplied during a normal operation of the customer premise equipmentdevice; determining whether the USB port is capable of supporting thecurrent draw applied during the normal operation of the customer premiseequipment device; and outputting a notification when the determinationis made that the USB port is not capable of supporting the current drawapplied during the normal operation of the customer premise equipmentdevice.
 15. The one or more non-transitory computer-readable media ofclaim 14, wherein the current load comprises a progressive loading ofcurrent drawn from the USB port, the amount of current drawn beingincrementally increased in stages.
 16. The one or more non-transitorycomputer-readable media of claim 15, wherein determining whether the USBport is capable of supporting the current draw applied during the normaloperation of the customer premise equipment device comprises: reading avoltage value at a power monitor after each increase of the currentdrawn; and determining that the USB port is not capable of supportingthe current draw applied during the normal operation of the customerpremise equipment device when the voltage value drops below a threshold.17. The one or more non-transitory computer-readable media of claim 15,wherein determining whether the USB port is capable of supporting thecurrent draw applied during the normal operation of the customer premiseequipment device comprises: monitoring an output of a brownout detector;and determining that the USB port is not capable of supporting thecurrent draw applied during the normal operation of the customer premiseequipment device when a fault condition is flagged by the brownoutdetector.
 18. The one or more non-transitory computer-readable media ofclaim 14, wherein the current load comprises a pulsed current load thatis equivalent to the current draw applied during the normal operation ofthe customer premise equipment device, wherein the current load appliedduring the current draw capacity test is removed periodically.
 19. Theone or more non-transitory computer-readable media of claim 18, whereindetermining whether the USB port is capable of supporting the currentdraw applied during the normal operation of the customer premiseequipment device comprises: monitoring an output of a brownout detector;and determining that the USB port is not capable of supporting thecurrent draw applied during the normal operation of the customer premiseequipment device when a fault condition is flagged by the brownoutdetector.
 20. The one or more non-transitory computer-readable media ofclaim 14, wherein the notification is output to a display deviceassociated with the USB port, wherein the notification causes thedisplay device to output a message instructing a user to connect thecustomer premise equipment device to an alternate power supply unit.